/*************************************************
 *	文件名称：test.c
 *	文件说明：	测试 mydata 源码
 *	程序平台：for linux
 *	文件作者：Jason <jasonsunsoft@163.com>
 *	文件时间：2014年8月26日 17:47
*************************************************/
#include "mydata.h"

int main()
{
	LinkList La, Lb, Lc;
	Link posi, posi1;
	ElemType e1, e2;
	int m, n;

	if (!InitList(&La))
		return 1;
	if (!InitList(&Lb))
		return 1;
	printf("enter the length of La ");
	scanf("%d", &m);
	printf("the length of La is %d\n", m);
	printf("enter the length of Lb ");
	scanf("%d", &n);
	printf("the length of La is %d\n", n);

	printf("enter tne elem for La\n");
	if (!ImportElem(&La, m))
		return 1;
	ListTraverse(La, PriElem);
	printf("enter tne elem for Lb\n");
	if (!ImportElem(&Lb, n))
		return 1;
	ListTraverse(Lb, PriElem);
	/*
	if (!ClearList(&Lb))
		return 1;
	ListTraverse(Lb, PriElem);
	printf("enter tne elem for Lb\n");
	if (!ImportElem(&Lb, n))
		return 1;
	ListTraverse(Lb, PriElem);
	*/
	Remove(&Lb, &posi);
	PriElem(posi);

	posi1 = Lb.tail;
	InsBefore(&Lb, &posi1,posi);
	printf("afte InsBefore Lb \n");
	ListTraverse(Lb, PriElem);

	posi1 = (Lb.head)->next;
	SetCurElem(&posi1, 3);
	printf("afte SetCurElem Lb \n");
	ListTraverse(Lb, PriElem);

	MergelList_L(&La, &Lb, &Lc, Les);
	printf("afte MergelList_L   Lc \n");
	ListTraverse(Lc, PriElem);



	return 0;
}


/*
 *写在最后
 *这和代码差点让我写崩溃了，知识点都懂，没有什么地方说是不能理解的
 *但是程序就是不停的报错，编译出错，运行报错，结果错误 整个人烦躁的不得了
 *哈哈，现在终于写完了。能够理解我现在的轻松么？我会告诉你在代码的最后一行
 *函数调用的时候我把Lc错误写成了Lb导致出错，我用调试器一行行的查看了好久么？

 *最后花了这么多时间在这个程序上应该要有点教训的
 * 1. 刚开始写各个小函数的时候没有能够把整个的说明理解透，写出来的东西和最后
	有偏差
 * 2. 程序的参数设置太多了，而且很多是指针，或者是二级指针。写的时候想少定
	义一些参数,但是有没有理解透，就那样随意的就用了，导致后面运行的时候出现
	了很多不确定的状态。
 * 3.调试到后来耐心越来越差，就想着早点弄完，唉，这是一个恶性循环。看看到最
	后的时候代码复制过来了都没有检查一下，增加了太多的工作量啊。

  吐槽完毕

*/
